package com.greenold.check.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.greenold.common.annotation.Excel;
import com.greenold.common.core.domain.BaseEntity;

/**
 * 退住账单对象 checkout_bill
 * 
 * @author ruoyi
 * @date 2025-10-17
 */
public class CheckoutBill extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private String id;

    /** 退住id */
    @Excel(name = "退住id")
    private String checkoutId;

    /** 账单json数据 */
    @Excel(name = "账单json数据")
    private String billJson;

    /** 退款凭证URL */
    @Excel(name = "退款凭证URL")
    private String refundVoucherUrl;

    /** 支付渠道 */
    @Excel(name = "支付渠道")
    private String payChannel;

    /** 老人ID */
    @Excel(name = "老人ID")
    private String elderId;

    /** 是否退款 */
    @Excel(name = "是否退款")
    private String isRefunded;

    /** 退款金额 */
    @Excel(name = "退款金额")
    private BigDecimal refundAmount;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date createdAt;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date updatedAt;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String createdBy;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String updatedBy;

    /** 扩展字段1 */
    @Excel(name = "扩展字段1")
    private String extend1;

    /** 扩展字段2 */
    @Excel(name = "扩展字段2")
    private String extend2;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setCheckoutId(String checkoutId) 
    {
        this.checkoutId = checkoutId;
    }

    public String getCheckoutId() 
    {
        return checkoutId;
    }

    public void setBillJson(String billJson) 
    {
        this.billJson = billJson;
    }

    public String getBillJson() 
    {
        return billJson;
    }

    public void setRefundVoucherUrl(String refundVoucherUrl) 
    {
        this.refundVoucherUrl = refundVoucherUrl;
    }

    public String getRefundVoucherUrl() 
    {
        return refundVoucherUrl;
    }

    public void setPayChannel(String payChannel) 
    {
        this.payChannel = payChannel;
    }

    public String getPayChannel() 
    {
        return payChannel;
    }

    public void setElderId(String elderId) 
    {
        this.elderId = elderId;
    }

    public String getElderId() 
    {
        return elderId;
    }

    public void setIsRefunded(String isRefunded) 
    {
        this.isRefunded = isRefunded;
    }

    public String getIsRefunded() 
    {
        return isRefunded;
    }

    public void setRefundAmount(BigDecimal refundAmount) 
    {
        this.refundAmount = refundAmount;
    }

    public BigDecimal getRefundAmount() 
    {
        return refundAmount;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }

    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }

    public void setExtend1(String extend1) 
    {
        this.extend1 = extend1;
    }

    public String getExtend1() 
    {
        return extend1;
    }

    public void setExtend2(String extend2) 
    {
        this.extend2 = extend2;
    }

    public String getExtend2() 
    {
        return extend2;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("checkoutId", getCheckoutId())
            .append("billJson", getBillJson())
            .append("refundVoucherUrl", getRefundVoucherUrl())
            .append("payChannel", getPayChannel())
            .append("elderId", getElderId())
            .append("isRefunded", getIsRefunded())
            .append("refundAmount", getRefundAmount())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .append("createdBy", getCreatedBy())
            .append("updatedBy", getUpdatedBy())
            .append("remark", getRemark())
            .append("extend1", getExtend1())
            .append("extend2", getExtend2())
            .toString();
    }
}
